home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-08-18 | 656 b | 31 lines | [TEXT/R*ch] |
- (* The shallow abstract syntax *)
-
- datatype location =
- Location of int * int
- ;
-
- datatype regular_expression =
- Epsilon
- | Characters of char list
- | Sequence of regular_expression * regular_expression
- | Alternative of regular_expression * regular_expression
- | Repetition of regular_expression
- ;
-
- datatype lexer_definition =
- Lexdef of location * (string * (regular_expression * location) list) list
- ;
-
- (* Representation of automata *)
-
- datatype automata =
- Perform of int
- | Shift of automata_trans * automata_move Array.array
- and automata_trans =
- No_remember
- | Remember of int
- and automata_move =
- Backtrack
- | Goto of int
- ;
-